package com.hopu.petshop.dao;

import com.hopu.petshop.entity.Pet;
import org.apache.ibatis.annotations.Param;

import java.sql.SQLException;
import java.util.List;

/**
 * 宠物表DAO接口
 */
public interface PetDAO {

    /**
     * 查询所有宠物
     * @return
     */
    List<Pet> selectAllPets() throws SQLException;

    /**
     * 添加宠物
     * @param pet
     */
    void insertPet(Pet pet) throws SQLException;

    /**
     * 更新宠物
     * @param pet
     */
    void updatePetById(Pet pet) throws SQLException;

    /**
     * 根据id查询宠物
     * @param id
     * @return
     */
    Pet selectPetById(int id) throws SQLException;

    /**
     * 根据id删除宠物
     * @param id
     */
    void deletePetById(int id) throws SQLException;

    /**
     * 根据名字查宠物
     * @param name
     * @return
     */
    List<Pet> selectPetByName(String name) throws SQLException;

    /**
     * 查询宠物数量
     * @return
     */
    int selectPetsCount();

    /**
     * 分页查询宠物
     * @param start
     * @param length
     * @return
     */
    List<Pet> selectPetsLimit(@Param("start") int start, @Param("length") int length) throws SQLException;
}
